package ar.com.ctrln.services.servicio;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import ar.com.ctrln.persistence.dao.servicios.ServicioDao;
import ar.com.ctrln.persistence.dao.servicios.TipoServicioDao;
import ar.com.ctrln.persistence.model.servicios.Servicio;
import ar.com.ctrln.persistence.model.servicios.TipoServicio;
import ar.com.ctrln.persistence.model.servicios.internet.ServicioInternet;
import ar.com.ctrln.persistence.model.servicios.telefonia.ServicioTelefonia;

@Service("gestorServicio")
public class GestorServicio {

	public static final int SERVICIO_TELEFONIA = 1;

	public static final int SERVICIO_INTERNET = 0;

	@Autowired
	private ServicioDao servicioDao;

	@Autowired
	private TipoServicioDao tipoServicioDao;

	private Servicio servicio;

	public Servicio nuevoServicio(int tipoServicio) {

		switch (tipoServicio) {
		case SERVICIO_INTERNET:
			servicio = new ServicioInternet();
			break;
		case SERVICIO_TELEFONIA:
			servicio = new ServicioTelefonia();
			break;
		default:
			break;
		}

		return servicio;
	}

	public void guardarServicio(Servicio servicio) {
		servicioDao.save(servicio);

	}

	public List<TipoServicio> listarTipoServicio() {
		return tipoServicioDao.getList();
	}

	public List<Servicio> listarServicios(long idTipoServicio) {

		return servicioDao.servicioByIdTipo(idTipoServicio);
	}

	public List<Servicio> listarServicios() {
		return servicioDao.getList();
	}
}
